package com.yuandian.middle.platform.mapper;

import com.yuandian.api.middle_platform.po.CommonStatisticsPojo;
import com.yuandian.api.middle_platform.po.OrgAbilityParam;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * 说明：共同指标数据查询-mapper接口
 * @Author tianlr
 * @Date 2023/5/16 10:35
 */
@Mapper
public interface CommonStatisticsMapper {
    /**
     * 查询响应指标（成功次数、超时次数、客户端失败次数、服务端失败次数、响应耗时）
     * @param param 参数对象
     */
    public List<CommonStatisticsPojo> selectResponseSnapshot(@Param("param") OrgAbilityParam param);

    /**
     * 查询字节/包数指标
     * @param param 参数对象
     */
    public List<CommonStatisticsPojo> selectByteAndPackage(@Param("param") OrgAbilityParam param);

    /**
     * 查询响应指标趋势（成功次数、超时次数、客户端失败次数、服务端失败次数、响应耗时）
     * @param param 参数对象
     */
    public List<CommonStatisticsPojo> selectResponseTrend(@Param("param") OrgAbilityParam param);

    /**
     * 查询响应耗时分布（快速响应请求数、正常响应请求数、慢响应请求数、缓慢响应请求数）
     * @param param 参数对象
     */
    public List<CommonStatisticsPojo> selectResponseTimeDistribution(@Param("param") OrgAbilityParam param);
}
